package cn.itcast.service.system;

import cn.itcast.domain.system.User;
import cn.itcast.domain.vo.PersonalVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface UserService {

    //根据企业id查询全部
    List<User> findAll(String companyId);

    //根据id查询
    User findById(String id);

    //保存
    void save(User user);

    //更新
    void update(User user);

    //根据id删除
    void delete(String id);

    // 分页查询
    PageInfo findByPage(Integer pageNum,Integer pageSize,String companyId);

    // 根据用户id查询角色id列表
    List<String> findRoleIdListByUserId(String id);

    // 实现用户分配角色
    void changeRole(String userId, String[] roleIds);

    User findByEmail(String email);

    List<User> findByBirthday(String nowDate);


    //########################################## 余鸿海_start ########################################

    /** 查询个性化信息 */
    PersonalVo findPersonalById(String id);

    /** 更新个性化信息 */
    void updatePersonal(PersonalVo personal);

    /** 保存个性化信息 */
    void savePersonal(PersonalVo personal);

    //########################################## 余鸿海_end ########################################

    //通过微信id查询User
    User findByWxOpenId(String openid);

    //通过电话查询User
    User findByTelephone(String telephone);
}
